package com.example.auth.service;

import com.alibaba.fastjson.JSONObject;
import com.example.auth.model.RoleUserModel;
import com.example.db.model.IPage;

import java.util.List;

/**
 * @Classname RoleUserModelService
 * @Description TODO
 * @Date 2022/7/31 15:32
 * @Created by XiongXiong
 * @Author: X.I.O
 */
public interface RoleUserModelService {

    /**
     * 分页
     * @param pageNum
     * @param pageSize
     * @param object
     * @return
     */
    IPage<RoleUserModel> page(int pageNum, int pageSize, JSONObject object);

    /**
     * 通过id获取单个
     * @param id
     * @return
     */
    RoleUserModel getRoleUserModelById(Object id);

    /**
     * 通过id删除
     * @param id
     */
    void deleteRoleUserModelById(Object id);

    /**
     * 存储用户角色
     * @param roleUserModel
     * @return
     */
    RoleUserModel saveRoleUserModel(RoleUserModel roleUserModel);

    /**
     * 通过角色id和用户id获取单个
     * @param uid
     * @param roleId
     * @return
     */
    RoleUserModel getRoleUserModelByUidAndRoleId(Object uid,Object roleId);

    /**
     * 通过用户id和角色id进行删除
     * @param uid
     * @param roleId
     */
    void deleteRoleUserModelByUidAndRoleId(Object uid,Object roleId);


    /**
     * 通过用户id，查询用户授权的id列表
     * @param uid
     * @return
     */
    List<Integer> getRoleModelRoleIdsByUid(Object uid);
}
